CBMSTEVE.CA - Personal pages of Steve J. Gray |
Changes | Info | Prototypes | Remakes | PET Projects | CBM Projects | Modding | 3D Models | KiCad | Github | Ohio Scientific | Other | My Software | My Collections | Facebooks |
Welcome to the PET/CBM Multi-ROM Adapter Project Page! These adapter boards all allow you to select any one of 16 ROM images from a set. They differ slightly in features and board size. Originally designed for the Editor ROM socket I realized that they can also be used in the other ROM sockets including the Character ROM sockets.
These boards are:
The Kicad schematics and gerbers are available on Github here.
This board is the latest MultiROM. It uses a small inexpensive EEPROM which means the adapter is not much bigger than the ROM socket itself. This adapter is suitable for 8296 option ROM sockets and does not interfere with the PET expansion headers. This board is not suitable for SuperPET when used for firmware (it is ok for Character ROM).
This board is suitable for all ROM sockets on 4000/8000 series and does not interfere with other ROM sockets on either side. It uses a common DIP EPROM or EEPROM. The side tab can be removed for use with off-board switches. For 8296: It is NOT suitable for combined KERNAL+BASIC socket, nor will two boards fit side-by-side for 8296 Option ROM sockets unless one is raised up with additional sockets. This adapter will partially interfere with the expansion headers. For SuperPET: It is NOT suitable for firmware, but is ok for Character ROM.
This board is primarily designed for the Editor ROM socket and has provision for handling the NOROM signal required for the SuperPET. It has a DIP switch to select 1 of 16 (4K) ROMs in a 27512 (64K) EPROM. The board is wider than the typical ROM socket spacing, which means it will overhang other nearby sockets. The board will work in the Editor ROM, Kernal ROM, BASIC ROM, and/or Option ROM provided no other boards are installed in the adjacent (if applicable) socket(s). The board is NOT suitable for 8000 series Character ROM socket. There is a jumper to enable/disable the NOROM feature. If you are installing in a regular PET/CBM you do not need to install the inverter chip. Set the jumper to DISABLED. If you are installing into a SuperPET, install the inverter chip and set the jumper to ENABLED.
This board is similar to the above but adds a socket for the Original ROM (2332) or compatible EPROM (2532). The above socket restrictions also apply as this board is slightly bigger. There is an additional jumper for selecting between Original ROM or EPROM Set. This board is good for those that don't want to lose the original ROM, or who (like me) like to develop editor ROMs and need to be able to burn a single chip rather than merging the test ROM into the 16-ROM collection.
These boards have space for a 4-position DIP switch block onboard. Four binary positions give 16 possible settings. The Multi-Edit boards are a fixed size, but you can choose to not install the DIP switch block and instead use 4 separate toggle switches off-board. In this case 4 wires from the switch go to the holes closest the socket, while the common wire can be soldered into any one of the 4 holes nearest the board edge. The PET/CBM Multi-ROM board also takes a DIP switch or you can break off part of the board and install separate switches. The COMMON pin is left of the DIP block and the 4 switch wires are beside that.
These adapters are suitable for various ROM sockets on PET/CBM motherboard. They may also be usable on other systems that use a 4K masked ROM socket. On the PET there are up to 7 ROM sockets from UD6 to UD12, and are commonly identified by the first digit of their HEX start address. For example the Editor ROM at UD7 maps in memory at $E000 to $EFFF, so is commonly called the "E" ROM. Similarly, The KERNAL is the "F" ROM, and BASIC takes 3 at "B","C" and "D". There is also one ROM Socket for the video Character ROM (UA3).
The Option ROMs ("9" and "A" ROMs) are extensions to the PET operating system or certain software, sometimes for copy protection. There are two sockets so it's possible to have option roms that conflict and can not be installed at the same time. A Multi-ROM board would allow multiple roms to exist in the same socket and be able to select them via switch. NOTE: the 8296 Option ROM sockets are very close together preventing some adapters from being installed side-by-side unless on is raised up.
Only the PET/CBM Multi-ROM is suitable for installing in the BASIC ROM sockets ("B","C" and "D" ROMS) since the boards are able to be installed side-by-side without blocking a socket. You could install 3 boards and select them with one set of switches by linking the boards via the 4 bank switches. All three must be linked and one must have the COMMON wire. The most practical use of this is for having BASIC 2 and BASIC 4 for compatibility with more software, but it could also be used to install alternate or custom BASIC versions. NOTE: the 8296 has a larger combined KERNAL+BASIC socket that these adapters are NOT compatible with!
The Editor ROM ("E" ROM) is responsible for all Screen, Keyboard, Clock, and IRQ processing on BASIC4 PET/CBM Computers. Commodore made different Editor ROMs for different markets. Most Editor ROMs are 2K, but the system is designed to take a 4K ROM, of which 3.75K is visible. Some of the Later PET/CBM models, such as the 8296 DIN version used 4K. I have several PET/CBM project involving the Editor ROM and these adapters will come in handy for selecting different ROMS, and hence lets you select the personality of the PET/CBM machine.
There are many Editor ROMs for the PET. Official ROMs from Commodore were made for different combinations of features:
Third-party Editor ROMs can also be used. My Editor Rom Project can build various "original" ROMs and also customized ROMs. For example:
The KERNAL ("F" ROM) contains the low-level operating functions. I do not know of any alternate ROMs that would be needed here. One possibility is some replacement ROM that replaces the TAPE functions with something else (like JiffyDOS for some other CBM systems). NOTE: The 8296 note for KERNAL+BASIC ROM also applies here.
The Character ROM normally holds two character sets, but some machines (SuperPET, German DIN) had 4 sets. The PET/CBM MultiROM and PET 2332 boards are best suited for most PET boards although all boards can be used in the 8296 machines.
I think these adapters will be most useful for 8032 PET owners. The 8032 is an 80-column machine, but most game software is for 40-column PET machines. My Editor ROM Project lets you create a Soft-40 Editor ROM, or a Switchable Soft-40 ROM and you could use that with a single 2532 EPROM, however, there may be situations where you want an official Editor ROM for compatibility reasons. These adapters let you have the official ROM and my EditorROM Project ROM and switch between them. Or, you could have an oficial 8032 ROM, 4032 ROM with Soft-40, and an EditorROM Project ROM. Or, you may have a special add-on board that uses the Editor ROM for it's firmware (ex: SuperSoft HR board) and may want to include that as well. With up to 16 (or 17) selectable ROM images you have the flexibility to choose.
Only the Multi-EditROM boards are SuperPET compatible. These support the NOROM line When installed in a regular PET/CBM machine you do not need to install the 74LS04 inverter chip. Solder the NOROM jumper to "disabled". SuperPET machines have an extra CPU and additional features, that require the NOROM line to be active. When installing these boards in a SuperPET you must install the inverter chip and jumper NOROM to "enabled". This allows the SuperPET to disable the EPROM while in SuperPET (6809) mode. Please note that the ACIA (RS-232) function will not work due to the 4K Editor ROM occupying the same address space as the ACIA and other SuperPET specific features.
Machine compatibility based on socket ROM capacity and placement:
PET/CBM MODEL (board#) |
Multi-EditROM | Multi-EditROM Plus | PET/CBM MultiROM | 2332 MultiROM PLCC | ||||
Firmware | ChrROM | Firmware | ChrROM | Firmware | ChrROM | Firmware | ChrROM | |
8296/8296D (324644) |
EDIT | YES | EDIT | YES | SEE NOTE | YES | SEE NOTE | YES |
SuperPET (8032080,8032089) |
EDIT | NO | EDIT | NO | NO | YES | NO | YES |
4000/8000 Universal boards (8032080,8032089) |
EDIT | NO | EDIT | NO | YES | YES | YES | YES |
8000 boards (8032030) |
EDIT | NO | EDIT | NO | YES | YES | YES | YES |
4000 boards (320130,320349) |
EDIT | NO | EDIT | NO | YES | YES | YES | YES |
2001 (320008) |
? | ? | ? | ? | ? | ? | ? | ? |
NOTES:
EDIT: Recommended for EDITROM only
8296: The 8296 motherboard UE8, UE9, and UE10 sockets are closer together than on earlier boards,
and are very close to the expansion header pins. In order to clear the expansion connectors some boards
must be raised using extra IC sockets when using an onboard DIP switch block, or you must break off the
tab and use external switches. Not for use with combined KERNAL+BASIC socket.
If you don't see your board listed please contact me for info.
I wrote MERB: Multi-EditROM-Builder, which is a tool to help build Editor ROM sets. I have created two test ROM sets, and tested them in an 8032 machine... everything seems to work! Additional sets are being created.
Here is the Multi-EditROM schematic diagram and PCB:
Here is the Multi-EditROM-Plus schematic diagram and PCB:
Here is the PET/CBM Multi-ROM schematic diagram and PCB:
MERB is a tool to help you assemble Editor ROM binaries for burning to EPROM.
MERB, with source code and executable, is available on Github
Here you will eventually find some pre-built Editor ROM collections...
Page Created: Jun 22/2017. Last updated: Aug 21/2025, 9:30pm EST
Send comments or feedback to Steve Gray(sjgray@rogers.com)